/**
 * @copyright Copyright (c) 2025 CSG Digital Grid Technology (Guangdong) Co., Ltd.
 * @author Chen Yongjie
 */
#ifndef __TEST_CJSON_UTILS_H
#define __TEST_CJSON_UTILS_H

#include <CUnit/CUnit.h>
#include "cJSON.h"
#include "cJSON_Utils.h"

/* cJSONUtils_FindPointerFromObjectTo */
void test_cJSONUtils_FindPointerFromObjectTo(void);

/* cJSONUtils_GetPointer / GetPointerCaseSensitive */
void test_cJSONUtils_GetPointer(void);
void test_cJSONUtils_GetPointerCaseSensitive(void);

/* cJSONUtils_GeneratePatches / ApplyPatches */
void test_cJSONUtils_GeneratePatches(void);
void test_cJSONUtils_ApplyPatches(void);

/* cJSONUtils_MergePatch / GenerateMergePatch */
void test_cJSONUtils_MergePatch(void);
void test_cJSONUtils_GenerateMergePatch(void);

/* cJSONUtils_SortObject */
void test_cJSONUtils_SortObject(void);

/* 新增多维度测试 */
void test_cJSONUtils_ApplyPatches_remove_root(void);
void test_cJSONUtils_ApplyPatches_test_op(void);
void test_cJSONUtils_ApplyPatches_move_op(void);
void test_cJSONUtils_ApplyPatches_copy_op(void);
void test_cJSONUtils_GeneratePatches_case_sensitive(void);
void test_cJSONUtils_MergePatch_null_handling(void);
void test_cJSONUtils_GenerateMergePatch_empty_objects(void);

#endif /* __TEST_CJSON_UTILS_H */